﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HA.Data.DisplayOptions2
{
    [Serializable]
    public class DOParticles : EventProperty, IObjectDataHelper, ICloneable
    {



        public DOParticles()
        { 
        
        
        }

      




        #region ICloneable 成员

        public object Clone()
        {
            DOParticles obj = (DOParticles)this.MemberwiseClone();


            return obj;

            //throw new NotImplementedException();
        }

        #endregion

        #region IObjectDataHelper 成员










        /// <summary>
        /// 更新副本数据到原始数据数据   判断对应的选项改变，并作出对应的更新动作
        /// </summary>
        /// <param name="obj"></param>
        public void ResetDataAndTriggerEvent(object obj)
        {
            if (obj == null)
            {
                return;
            }
            DOParticles particles = (DOParticles)obj;

            if (particles .IsDataChanged ()==false )
            {
                return;
            }




            //throw new NotImplementedException();
        }

        public bool IsDataChanged( )
        {
            if (this==null )
            {
                return false;
            }
            if (this._isShowTab == false)
            {
                return false;
            }
            if (this.IsNeedUpdateData == true)
            {
                return true;
            }
            else
            {

                return false;
            }
         
            //throw new NotImplementedException();
        }

        #endregion






        #region 暂时不使用




        //public void ResetDOParticles(DOParticles particles)
        //{



        //}

        //[field: NonSerialized]
        //public event EventHandler<DisplayOptionsChangedEventArgs> DisplayOptionsChanged;
        //public void AskDisplayOptionsGrid3dChanged()
        //{
        //    if (this.DisplayOptionsChanged != null)
        //    {
        //        this.DisplayOptionsChanged(this, new DisplayOptionsChangedEventArgs(this, DisplayOptionsType.Particles ));
        //    }
        //}

        //#region 事件模型
        //[field: NonSerialized]
        //public event EventHandler<DisplayOptionsChangedEventArgs> DisplayOptionsChanged;

        //public void AskDisplayOptionChanged(DisplayOptionsChangedEventArgs e)
        //{
        //    if (DisplayOptionsChanged != null)
        //    {
        //        DisplayOptionsChanged(this, e);
        //    }
        //}
        //#endregion


        #endregion



    }
}
